/*********************************************************************************************************
;公司名称   : PT 
;作者       : XJ
;创建时间   : 2025-7-31
;修改时间   : 
;说明       : PT2020_Master
;版本号     : V1.0  初版 
;功能描述：  作为主机，实现模拟I2C与PT2020通讯；
             PT2020按键值变化时UART0 P31 115200bps输出20通道按键值
             CMOD选择请参考APP.C第6行
  
             上电UART0打印配置信息：
             第一行：地址 数据 地址 数据 ...
             第二行：地址 数据 地址 数据
             ...
             第N行： 地址 数据     

             触摸按键值变化UART0打印3byte键值：
             高byte 中byte 低byte   -->高byte:20~17KEY 中byte:16~9KEY  低byte:8~1KEY
注意: 用户使用自有主控控制PT2020，只需移植PT_2020_DRIVE.c，PT_2020_DRIVE.h PT_2020_Config.c,PT_2020_Config.h
;********************************************************************************************************/
#ifndef _MAIN_C_
#define _MAIN_C_
#include "H/MAIN.H"
#include <stdio.h>
uint8_t Sys_500msCnt = 0;
bit F_Blink1Hz = 0;
bit F_StartUp_FlashUI = 1;
void main(void) 
{  
		uint8_t i = 10;
		SYS_INIT();        																			  //MCU初始化
		PT2020_INIT();																						//初始化PT2020
		while(F_StartUp_FlashUI)																  //此while循环为上电LED单控灯效，灯效完成之后F_StartUp_FlashUI = 0;跳出循环，去判断键值读取
		{
			  if(F_Sys50MS)
				{
						F_Sys50MS = 0;
						Sys_500msCnt++;
						if(Sys_500msCnt>=10)
						{
								Sys_500msCnt = 0;
								Flowing_Led_Process();
						}
				}
		}
		// 在此加入主程序代码
		//以下程序为键值读取并打印，按键触摸及释放时，INT下降沿中断F_INT0 = 1,时读取键值
    while(1)
    {   
				if(F_INT0)																						//F_INT0标志位在INT下降沿中断后被置位，然后读取键值，并printf打印键值
				{
						Touch_Keyvalue = PT2020_Get_Touch_KeyValue();			//获取键值				
						Update_Disp_Smg(Touch_Keyvalue);									//更新数码管显示
						F_INT0 = 0;
						timereset2 = 2000;																//数码管显示键值时间

#ifdef	DEBUG
						printf("THKeyvalue = 0x%l08x\r\n",Touch_Keyvalue);
#endif
					
				}
				
    }
}
#endif

